package com.example.demo.huawei;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 最多可以派出多少支团队
 * 1、团队最低能力值为N
 * 2、一个团队 由一个人或者两个人组成，且一个人只能参加一个团队
 * 3、计算出最多可以派出多少只符合要求的队伍
 */
public class OD50_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 总人数
        int m = sc.nextInt();

        int[] arr = new int[m];
        for (int i = 0; i < m; i++) {
            arr[i] = sc.nextInt();
        }
        int n = sc.nextInt();

        //        System.out.println(n);
        // System.out.println(Arrays.toString(arr));
        //一个人的团队，个人能力大于等于团队要求N 那么自己就是一个团队
        int count1 = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] >= n) {
                count1++;
                // 代表不能再被选择了
                arr[i] = 0;
            }
        }

        // 选两个的情况

        int count2 = 0;
        Arrays.sort(arr);
        //System.out.println(Arrays.toString(arr));
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] == n - arr[j]) {
                    count2++;
                    //System.out.println(i + " " + j);
                }
            }
        }
        System.out.println(count2 + count1);
    }
}
